// 定义 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议;
// socket.io 模块
// 简易聊天室 ：一个输入框 输入内容后 其他的页面也可以显示内容
const Koa = require("koa");
const views = require("koa-views");
const static = require("koa-static");
const Router = require("koa-router");
// 引入socket.io模块 ,安装


let app  =new Koa();
let router = new Router();

const server = require('http').createServer(app.callback());
const io = require('socket.io')(server);
// 监听 socket连接
io.on("connection",socket=>{
    console.log("有连接过来");
   
    // addEvnet
    socket.on("myevent",function(res){
        console.log(res);
        //1. emit 只能发送给 发送过来的前端socket 
        socket.emit("serveEvent",res);
        //2. 通过 广播发送给出了自己之外的其他socket
        // 可以通过服务端把数据推送给客户端
        socket.broadcast.emit("serveEvent",res);
    })
})
app.use(views(__dirname+"/views"));
app.use(static(__dirname+"/static"));
router.get("/index",async ctx=>{
   await ctx.render("index.html");
})

app.use(router.routes());
// app.listen(8080);
server.listen(8080);

